package claseMetodosOrdenamiento;

public class Burbujeo {
	
	public void ordenar(int[] vector){
		int auxiliar;
		int contador = 0;
		/*Recorro el vector*/
		for(int i = 0; i < vector.length; i++){
			int posicionValorMaximo = 0;
			/*Busco el valor maximo parcial y lo voy corriendo
			 * hacia la derecha hasta encontrar
			 * otro valor maximo o llegar hasta el final del vector.*/
			for(int posicionActual = 0; posicionActual < vector.length - contador; posicionActual++){
				/* Si el valor de "posicionValorMaximo" es mayor a el valor
				 * de "posicionActual" cambio de lugar los valores dejando al
				 * mayor a la derecha y al menor a la izquierda.*/
				if(vector[posicionValorMaximo] > vector[posicionActual]){
					auxiliar =  vector[posicionActual];
					vector[posicionActual] = vector[posicionValorMaximo];
					vector[posicionValorMaximo] = auxiliar;
					posicionValorMaximo = posicionActual;
				}
				/* Si el valor de "posicionActual" es mayor al valor de 
				 * "posicionValorMaximo" cambio la posicion del valor maximo
				 * por la posicion actual.*/
				if(vector[posicionValorMaximo] < vector[posicionActual]){
					posicionValorMaximo = posicionActual;
				}
			}
			contador++;
		}
	}
}
